
/* start /web-platform/scripts/web-platform/reg/registration2.js*/

window.SOE=window.SOE||{};SOE.Registration=(function(){if(wpCookie("wr-underage")==true){return;}
var submitUrl=globs.urls.uramAjaxUrl+"/reg/v1/register.action";var returnUrl=globs.urlparameters.returnURL||$("input[name=service]").val();var betaId="";var underage=13;var OPTIN_OFF_LIST;var _VALIDATION_MAP={"stationName":["isUsernameSize","isUsernameValid"],"password1":["isPasswordSize","isPasswordValid","isPasswordNumber","isPasswordNotStationName",],"password2":["isPasswordMatches"],"emailAddress":["isEmailValid"]};var $_FORM=$("form#registration");var $_AUTO_LOGIN=$("form#autoLogIn");var $_AGE_ERROR=$_FORM.find(".dob-error");var $_TOS_ERROR=$_FORM.find(".tos-error");var $_PP_ERROR=$_FORM.find(".pp-error");var $_GLOBAL_ERROR=$(".global-error");var CountrySelection=(function(){var userProfile={country:{code:"US",from:"United States",partner:""},referrer:{steamCustomer:false}};var getCountries=function(){$.ajax({url:globs.urls.uramAjaxUrl+"/reg/v1/getCountries2.action",dataType:"json",type:"post",data:{locale:globs.soelocale,theme:"soe",responseType:"json"},success:setCountryList});if((globs.urlparameters&&globs.urlparameters.launchPoint=="steam")||wpCookie('launchedBySteam')){userProfile.referrer.steamCustomer=true;wpCookie("steamCustomer",true,30);wpCookie('launchedBySteam',true);}};var setCountryList=function(data){OPTIN_OFF_LIST=data.optinDefaultOff||[];if(typeof data.sourceCountry!=="undefined"&&data.sourceCountry){if($.inArray(data.sourceCountry.countrycode,OPTIN_OFF_LIST)!=-1){$_FORM[0].acceptMktg.checked=false;}
userProfile.country.code=data.sourceCountry.countrycode;userProfile.country.description=data.sourceCountry.description;}else{$_FORM[0].acceptMktg.checked=false;}
if(userProfile.referrer.steamCustomer===false){if(data.partner!==""){userProfile.country.partner=data.partner;showGate(data);}}
renderCountries(data);};var showGate=function(){var _partner=userProfile.country.partner.toLowerCase();if(typeof _partner!=='undefined'){$("#ipGate").on("loaded.bs.modal",function(){$('#location h2#country').html(userProfile.country.description);});$("#ipGate").modal({remote:"_pageContent/modals/gate-"+_partner+".vm",backdrop:"static"});}};var renderCountries=function(data){var k,_option;var _countryList=document.getElementById("countryList");var _selectList=document.createElement("select");var _wrapper=document.createElement("div");_wrapper.className="fancy-select country";_selectList.className="form-control";_selectList.id="wrCreateCountry";_selectList.name="country";_selectList.tabIndex="5";for(k=0;k<data.countries.length;k++){_option=document.createElement("option");_option.value=data.countries[k].countrycode;_option.innerHTML=data.countries[k].description;if(typeof data.sourceCountry!=="undefined"&&typeof data.sourceCountry.countrycode!=="undefined"&&data.sourceCountry.countrycode==data.countries[k].countrycode){_option.selected="selected";}
_selectList.appendChild(_option);}
_wrapper.appendChild(_selectList);_countryList.innerHTML="";_countryList.appendChild(_wrapper);TermsOfService.getTOS();};getCountries();return userProfile;})();var PasswordStregthMeter=(function(){var $_PASSWORD_METER=$("#passwordStrength");var $_PASSWORD_METER_TOOLTIP=$(".password-strength-tooltip");var _MAX_REPEAT=2;var _MAX_SEQUENCE=4;var _ALPHA='abcdefghijklmnopqrstuvwxyz';var _REVERSE_ALPHA=_ALPHA.split("").reverse().join("");var _NUMBERS='1234567890';var _REVERSE_NUMBERS=_NUMBERS.split("").reverse().join("");var _METER_RATINGS=["N/A","Weak","Good","Strong",];var _TOOL_TIP_TEXT=['Try a mix of capital letters, numbers, and acceptable special characters (!&quot;#$&%)','Your password is week. Try not repeating or using sequential characters.','Your password could be stronger. Try a mix of capital letters, numbers, and acceptable special characters (!&quot;#$&%)','<i class="fa fa-check-circle"></i>&nbsp;Congratulations, your password is strong!'];var _checkRepeats=function(password){var j,k;for(k=0;k<password.length;k++){for(j=1;j<(_MAX_REPEAT+1);j++){if((j+k)>password.length){break;}
if(password[k]!==password[k+j]){break;}
if(j==_MAX_REPEAT){return true;}}}
return false;};var _checkSequence=function(password){var k;for(k=0;k<(_NUMBERS.length-_MAX_SEQUENCE);k++){if((password.indexOf(_NUMBERS.substring(k,k+_MAX_SEQUENCE))!=-1)||(password.indexOf(_REVERSE_NUMBERS.substring(k,k+_MAX_SEQUENCE))!=-1)){return true;}}
for(k=0;k<(_ALPHA.length-_MAX_SEQUENCE);k++){if((password.indexOf(_ALPHA.substring(k,k+_MAX_SEQUENCE))!=-1)||(password.indexOf(_REVERSE_ALPHA.substring(k,k+_MAX_SEQUENCE))!=-1)){return true;}}
return false;};var getStrength=function(){var _strength=0;var _password=$_FORM[0].password1.value;if(_password.length>=8){if(!_checkSequence(_password)&&!_checkRepeats(_password)){if((/[A-Z]/.test(_password)&&/[a-z]/.test(_password))&&/[\$\!\"\%\#]/.test(_password)&&_password.length>9){_strength=3;}else{_strength=2;}}else{_strength=1;}}else{_strength=0;}
return _strength;};var updateMeter=function(){var strength=getStrength();$_PASSWORD_METER_TOOLTIP.attr("data-original-title",_TOOL_TIP_TEXT[strength]);$_PASSWORD_METER.find("#progress")[0].className="strength-"+strength;$_PASSWORD_METER.find(".strength-text").html(_METER_RATINGS[strength]);};var _passwordStrengthTooltip=function(){$_PASSWORD_METER_TOOLTIP.tooltip({html:true});};_passwordStrengthTooltip();return{getStrength:getStrength,updateMeter:updateMeter};})();var Validator=(function(){var _ALPHA_SYMBOL_REGEX=/^[A-Za-z0-9\$\!\"\%\#]+$/;var _ALPHA_REGEX=/^[A-Za-z0-9]+$/;var _EMAIL_REGEX=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;var _stationNameValid=true;var _stationNamePlaceholder="";var _checkSize=function(text,min,max){return(text.length>=min&&text.length<=max);};var isUsernameSize=function(){return _checkSize($_FORM[0].stationName.value,4,15);};var isUsernameValid=function(){return _ALPHA_REGEX.test($_FORM[0].stationName.value);};var isUsernameTaken=function(){if(!isUsernameValid()||!isUsernameValid()){$_FORM.find("[data-error=isUsernameTaken]").removeClass("has-error").removeClass("has-success");return false;}
if(_stationNamePlaceholder===$_FORM[0].stationName.value){return _stationNameValid;}
$.ajax({url:globs.urls.uramAjaxUrl+"/reg/v1/isStationNameAvailable.action",dataType:"json",data:{stationName:encodeURIComponent($_FORM[0].stationName.value),responseType:"json"},type:"post",success:_usernameTakenSuccess});_stationNamePlaceholder=$_FORM[0].stationName.value;};var _usernameTakenSuccess=function(data){var available=(data.available==='true')||(data.available===true);if(available){_stationNameValid=true;$_FORM.find("[name=stationName]").parents(".form-group").removeClass("has-error");$_FORM.find("[data-error=isUsernameTaken]").removeClass("has-error").addClass("has-success");}else{_stationNameValid=false;$_FORM.find("[name=stationName]").parents(".form-group").addClass("has-error");$_FORM.find("[data-error=isUsernameTaken]").removeClass("has-success").addClass("has-error");}};var isPasswordSize=function(){return _checkSize($_FORM[0].password1.value,8,15);};var isPasswordValid=function(){return _ALPHA_SYMBOL_REGEX.test($_FORM[0].password1.value);};var isPasswordNumber=function(){return/[0-9]/.test($_FORM[0].password1.value);};var isPasswordNotStationName=function(){return($_FORM[0].stationName.value!==$_FORM[0].password1.value);};var isPasswordMatches=function(){if($_FORM[0].skipPasswordConfirm.checked){return true;}
return(isPasswordSize()&&$_FORM[0].password1.value===$_FORM[0].password2.value);};var _getValidAge=function(){var _year=parseInt($_FORM[0].dobYear.value,10);var _month=parseInt($_FORM[0].dobMonth.value,10);var _day=parseInt($_FORM[0].dobDay.value,10);var _birthday=new Date(_year,_month-1,_day);if(isNaN(_birthday.getTime())){return false;}else{return _birthday;}};var isOverAge=function(){var _birthday=_getValidAge();if(!_birthday){return false;}
var _cutOff=new Date();_cutOff.setFullYear(_cutOff.getFullYear()-underage);return(_cutOff.getTime()-_birthday.getTime());};var isEmailValid=function(){return _EMAIL_REGEX.test($_FORM[0].emailAddress.value);};var validateForm=function(){var field,k,_passed=true;for(field in _VALIDATION_MAP){if(_VALIDATION_MAP.hasOwnProperty(field)){for(k=0;k<_VALIDATION_MAP[field].length;k++){if(!Validator[_VALIDATION_MAP[field][k]]()){$_FORM.find("[name="+field+"]").parents(".form-group").addClass("has-error");_passed=false;break;}else{$_FORM.find("[name="+field+"]").parents(".form-group").removeClass("has-error");}}}}
if(!isOverAge()){$_AGE_ERROR.removeClass("hidden");_passed=false;}else if(isOverAge()<0){$_AGE_ERROR.addClass("hidden");_underageLockout();_passed=false;}else{$_AGE_ERROR.addClass("hidden");}
if(!$_FORM[0].tosAccepted.checked){$_TOS_ERROR.removeClass("hidden");_passed=false;}else{$_TOS_ERROR.addClass("hidden");}
if(!$_FORM[0].privacyPolicyAccepted.checked){$_PP_ERROR.removeClass("hidden");_passed=false;}else{$_PP_ERROR.addClass("hidden");}
return _passed;};var _underageLockout=function(){wpCookie('wr-underage',true,new Date((new Date()).getTime()+(24*60*60*1000)));$('.web-registration .panes .pane.reg-form').html("<div id='wrSubscriptionUnderage' class='underAge'>We're sorry, but you are unable to sign up for a Station Account at this time.</div>");};return{isUsernameSize:isUsernameSize,isUsernameValid:isUsernameValid,isUsernameTaken:isUsernameTaken,isPasswordSize:isPasswordSize,isPasswordNumber:isPasswordNumber,isPasswordValid:isPasswordValid,isPasswordMatches:isPasswordMatches,isPasswordNotStationName:isPasswordNotStationName,isOverAge:isOverAge,isEmailValid:isEmailValid,validateForm:validateForm};})();var FormEvents=(function(){var init=function(){toggleRequirements();showPassword();validateInputs();regStartTracking();};var regStartTracking=function(){$_FORM.one("focus","input",function(){try{DTKR.sendEvent("webRegStart");}catch(e){}});};var toggleRequirements=function(){$_FORM.on("focus","input",function(){var $_this=$(this);$_this.parents(".form-group").find(".requirements").addClass("expanded");$_this.parents(".highlight").addClass("selected-group");});$_FORM.on("blur","input,select",function(){$_FORM.find(".requirements").removeClass("expanded").addClass("retracted");$_FORM.find(".highlight").removeClass("selected-group");});};var showPassword=function(){$_FORM.on("click","[name=skipPasswordConfirm]",function(){var $_this=$(this);if($_this.is(":checked")){$_FORM.find(".password-confirm").addClass("hidden");$_FORM.find("[data-error=isPasswordMatches]").addClass("hidden");$_FORM.find("[name=password1]").attr("type","text");}else{$_FORM.find(".password-confirm").removeClass("hidden");$_FORM.find("[data-error=isPasswordMatches]").removeClass("hidden");$_FORM.find("[name=password1]").attr("type","password");}});};var validateInputs=function(){$_FORM.on("keyup change","input",function(){var $_this=$(this);var _name=$_this[0].name;$_this.parents(".form-group").removeClass("has-error");if(typeof _VALIDATION_MAP[_name]!=='undefined'&&$_this[0].value!==""){for(var k=0;k<_VALIDATION_MAP[_name].length;k++){if(Validator[_VALIDATION_MAP[_name][k]]()===false){$_this.parents(".form-group").find("[data-error="+_VALIDATION_MAP[_name][k]+"]").removeClass("has-success").addClass("has-error");}else{$_this.parents(".form-group").find("[data-error="+_VALIDATION_MAP[_name][k]+"]").removeClass("has-error").addClass("has-success");}}}});$_FORM.on("keyup blur","[name=password1]",function(){if(Validator.isPasswordSize()&&Validator.isPasswordSize()&&Validator.isPasswordValid()&&Validator.isPasswordNumber()){PasswordStregthMeter.updateMeter();}});$_FORM.one("focus","[name=password2]",function(){_VALIDATION_MAP["password1"].push("isPasswordMatches");});$_FORM.on("blur","[name=stationName]",function(){Validator.isUsernameTaken();});$_FORM.on("blur","input",function(){var $_this=$(this);var _name=$_this[0].name;var _passed=true;$_this.parents(".form-group").removeClass("has-error");if(typeof _VALIDATION_MAP[_name]!=='undefined'){for(var k=0;k<_VALIDATION_MAP[_name].length;k++){if(Validator[_VALIDATION_MAP[_name][k]]()===false){_passed=false;$_this.parents(".form-group").find("[data-error="+_VALIDATION_MAP[_name][k]+"]").removeClass("has-success").addClass("has-error");}else{$_this.parents(".form-group").find("[data-error="+_VALIDATION_MAP[_name][k]+"]").removeClass("has-error").addClass("has-success");}}}
if(!_passed){$_this.parents(".form-group").addClass("has-error");}});};return{init:init};})();var TermsOfService=(function(){var $_PRIVACY_POLICY=$("#privacyPolicy");var $_IT_TEXT=$("#itLegalText");var $_TOS_TEXT=$(".tos-text");var $_PP_TEXT=$(".pp-text");var getTOS=function(){$.ajax({url:globs.urls.uramAjaxUrl+"/reg/v1/getTosPpInfo.action",dataType:"json",type:"post",data:{locale:globs.soeLocale,theme:globs.wdl.theme,country:$_FORM[0].country.value||"US",responseType:"json"},success:setTOS});};var setTOS=function(data){var boxes;for(boxes in data.checkboxes){if(data.checkboxes[boxes].type=="TOS_PP"){$_PRIVACY_POLICY.addClass("hidden");$_IT_TEXT.hide();$_TOS_TEXT.html(data.checkboxes[boxes].label);addPPLink();}else if(data.checkboxes[boxes].type=="TOS"){if($_FORM[0].country.value=="IT"){$_TOS_TEXT.html(data.checkboxes[boxes].label.slice(0,data.checkboxes[boxes].label.indexOf("<br>")));$_IT_TEXT.show().html("<p>"+
data.checkboxes[boxes].label.substr(data.checkboxes[boxes].label.indexOf("<br>"))+"</p>");}else{$_IT_TEXT.hide();$_TOS_TEXT.html(data.checkboxes[boxes].label);}}else if(data.checkboxes[boxes].type=="PP"){$_PRIVACY_POLICY.removeClass("hidden");$_PP_TEXT.html(data.checkboxes[boxes].label);removePPLink();}}
clearCheckboxes();};var addPPLink=function(){$_FORM.on("change.pp_link","[name=tosAccepted]",function(){if($_FORM[0].tosAccepted.checked){$_FORM[0].privacyPolicyAccepted.checked=true;}else{$_FORM[0].privacyPolicyAccepted.checked=false;}});};var removePPLink=function(){$_FORM.off("change.pp_link");};var clearCheckboxes=function(){$_FORM[0].tosAccepted.checked=false;$_FORM[0].privacyPolicyAccepted.checked=false;};$_FORM.on("change","[name=country]",function(){getTOS();if($.inArray($(this).val(),OPTIN_OFF_LIST)!=-1){$_FORM[0].acceptMktg.checked=false;}});return{getTOS:getTOS};})();var FormProcessor=(function(){var submitForm=function(){if(Validator.validateForm()){$_GLOBAL_ERROR.addClass("hidden").html("");var formData={stationName:$_FORM[0].stationName.value,password1:$_FORM[0].password1.value,emailAddress:$_FORM[0].emailAddress.value,country:$_FORM[0].country.value,dobDay:$_FORM[0].dobDay.value,dobMonth:$_FORM[0].dobMonth.value,dobYear:$_FORM[0].dobYear.value,acceptMktg:$_FORM[0].acceptMktg.checked,privacyPolicyAccepted:$_FORM[0].privacyPolicyAccepted.checked,tosAccepted:$_FORM[0].tosAccepted.checked,cid:wpCookie("cmpID30"),gvid:wpCookie("soegvid"),responseType:"json",theme:globs.wdl.theme,ts:new Date().getTime(),locale:globs.soelocale};if(betaId){formData.betaReg=1;formData.betaId=betaId;}
$.ajax({url:submitUrl,dataType:"json",type:"post",data:formData,success:registrationSuccess,error:registrationError});}};var registrationSuccess=function(data){if(data.errors.length>0){registrationUramErrors(data);}else{logUserOut();logUserIn();}};var registrationUramErrors=function(data){var error;for(error in data.fieldErrors){if(data.fieldErrors.hasOwnProperty(error)){$_FORM.find("[name="+error+"]").parents(".form-group").addClass("has-error");}}
$_GLOBAL_ERROR.removeClass("hidden").html(data.errors.join("<br />"));};var registrationError=function(){$_GLOBAL_ERROR.removeClass("hidden").html("We're sorry, but you are unable to sign up for a Station Account at this time.");};var logUserIn=function(){var launchPoint="";if(typeof globs.urlparameters!=="undefined"&&typeof globs.urlparameters.launchPoint!=="undefined"){if(returnUrl.indexOf("?")!==-1){launchPoint="&launchPoint="+globs.urlparameters.launchPoint;}else{launchPoint="?launchPoint="+globs.urlparameters.launchPoint;}}
$_AUTO_LOGIN[0].username.value=$_FORM[0].stationName.value;$_AUTO_LOGIN[0].password.value=$_FORM[0].password1.value;$_AUTO_LOGIN[0].service.value=returnUrl;$_AUTO_LOGIN[0].gvid.value=wpCookie("soegvid");$_AUTO_LOGIN[0].submit();};var logUserOut=function(){if(globs.wdl.username){document.createElement("img").src=globs.urls.logout;}};return{submitForm:submitForm};})();$_FORM[0].reset();FormEvents.init();return{betaId:betaId,submitUrl:submitUrl,returnUrl:returnUrl,underage:underage,FormProcessor:FormProcessor};})();$(document).ready(function(){try{DTKR.trackFunnelEvent("REGISTRATION_VIEWED",null,{campaignAttribution:30});}catch(e){}});

/* end /web-platform/scripts/web-platform/reg/registration2.js*/

/* start /scripts/_pages/register.js*/

(function(){$("body").on("blur","input, select",function(evt){if(this.value){DTKR.trackEvent({eventCategory:"form-tracking",eventAction:"registration",eventLabel:this.name});}});})();

/* end /scripts/_pages/register.js*/

/* start /web-platform/scripts/web-platform/component/global-nav.js*/

(function(){var nonMember=_.template($("script.non-member").html());var member=_.template($("script.member").html());if(globs.wdl.userLoggedIn==true){$.ajax({url:'/get-rest-ticket',type:'POST',data:{type:0},context:this,success:function(sid){$.ajax({url:globs.urls.uramAjaxUrl+"/rest/commerce/11/allaccessinfo.action",dataType:"json",data:{'responseType':"json",'sessionID':sid.successPayload.ticket,},success:function(data){var memberData={scGrantDate:data.scGrantDate,scGrantClaimed:data.scGrantClaimed,mbExpirationDate:data.expirationDate};$('#mb-scBalance').text(data.scBalance);if(data.akella==false){if(data.member==false){$('#mb-all-access').html(nonMember());$('#mb-isMember').text('Try');}else{$('#mb-all-access').html(member(memberData));$('#mb-isMember').text('My');$("#membershipLink").click(function(){window.location.href=globs.urls.membershipMembership;});};}}})}})}else{$('#mb-all-access').html(nonMember());}})();

/* end /web-platform/scripts/web-platform/component/global-nav.js*/
